package com.bingo.generate.comm.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.stream.Collectors;

/**
 * ClassName
 * Description
 * Create by lc
 * Date 2021/7/12 20:06
 */
@Data
@Accessors(chain = true)
public class ColInfo {

    //  数据库
    private String dbName ;
    //  '表名'
    private String tableName ;
    //  '字段名称'
    @TableField("COLUMN_NAME")
    private String colName ;
    //  '字段类型'
    private String type ;
    //  '是否为空'
    private String isNullable ;
    //  '默认值'
    private String defaultVal ;
    //  '字段备注'
    @TableField("COLUMN_COMMENT")
    private String comment ;
    //  对应mysql的数据类型(具有长度的真实类型)
    private String colType ;
    //  对应mysql的数据类型(具有长度的真实类型)
    private String columnKey ;
    //  是否是id(避免is开头)
    private Boolean bid=false ;

    //  是否可以为空 null
    public boolean getCanNull(){
        return "YES".equals(isNullable);
    }

    public static List<String> toColStrList(List<ColInfo> list){
        return list.stream().map(ColInfo::getColName).collect(Collectors.toList());
    }

    public boolean isCanNull(){
        if(isNullable.equals("YES")){
            return true;
        }else{
            return false;
        }
    }

}
